#include<stdio.h>

#define MAX 2147483647

int main()
    {
        long int n,m,re();
        int count=0;
        printf (" please enter a number optionaly:");
        scanf(" %ld",&n);
        printf(" The generation prcess of palindrome:\n");
        while(!nonre((m=re(n))+n)) 
        {
            if (m+n>=MAX)
            {
                
                printf (" input error,break.\n");
                break;
            }
            else
            {
               
                printf (" [%d]:%ld+%ld=%ld\n",++count,n,m,m+n);
                n+=m;
            }
        }
        printf (" [%d]:%ld+%ld=%ld\n",++count,n,m,m+n);
        printf ("Here we reached the aim at last!\n");


    }


long re(a)
long int a;

{

    long int t;
    for (t=0;a>0;a/=10)
    t=t*10+a%10;
    return(t);
}

int nonre(s)

long int s;
{

    if (re(s)==s) 
    return(1);
    else
    return(0);
}  
